package com.xnyzc.lhy.mis.service.worksheet;

import com.xnyzc.lhy.common.entity.DiDiRv;
import com.xnyzc.lhy.common.entity.Rv;
import com.xnyzc.lhy.mis.entity.param.worksheet.WorkSheetGetByConditions;
import com.xnyzc.lhy.mis.entity.param.worksheet.didi.CreateWorkOrderParam;
import com.xnyzc.lhy.mis.entity.param.worksheet.didi.UpdateWorkOrderParam;
import com.xnyzc.lhy.mis.entity.param.worksheet.didi.WorkOrderUrgentParam;
import com.xnyzc.lhy.mis.entity.worksheet.OaCWorkOrder;
import com.xnyzc.lhy.resource.entity.worksheet.param.heli.LoginSynchronousParam;
import com.xnyzc.lhy.resource.entity.worksheet.param.heli.RoleSynchronousParam;

public interface IWorkOrderService {

    /**
     * 新建工单
     * @param createWorkOrderParam
     * @return
     */
    DiDiRv getCreateWorkOrder(CreateWorkOrderParam createWorkOrderParam);

    /**
     * 更新工单
     * @param updateWorkOrderParam
     * @return
     */
    DiDiRv getUpdateWorkOrder(UpdateWorkOrderParam updateWorkOrderParam);

    /**
     * 工单加急接口
     * @return
     */
    DiDiRv getWorkOrderUrgent(WorkOrderUrgentParam workOrderUrgentParam);

    /**
     * 获取角色数据
     *
     * @return
     */
    Rv getLoginSynchronous(LoginSynchronousParam param);

    /**
     * 获取角色详情
     *
     * @return
     */
    Rv getRoleSynchronous(RoleSynchronousParam param);

    Rv getWorkOrderListByConditions(WorkSheetGetByConditions conditions);

    Rv addWorkSheetInfo(OaCWorkOrder oaCWorkOrder);

    void exportWorkOrderByConditions(WorkSheetGetByConditions conditions);

    Rv revokeWorkSheetInfo(OaCWorkOrder oaCWorkOrder);

    Rv getWorkSheetByOrderNo(String orderNo);
}
